Lịch sử Công_nghệ_phần_mềm

Công nghệ phần mềm có một lịch sử khá sớm. Các công cụ được dùng cũng như các ứng dụng được viết đã tham gia vào kỹ thuật phần mềm theo thời gian.

Dòng thời gian

  • Thập niên 1940: Các chương trình cho máy tính được viết bằng tay.
  • Thập niên 1950: Các công cụ đầu tiên xuất hiện như là phần mềm biên dịch Macro Assembler và phần mềm thông dịch đã được tạo ra và sử dụng rộng rãi để nâng cao năng suất và chất lượng. Các trình dịch được tối ưu hoá lần đầu tiên ra đời.
  • Thập niên 1960: Các công cụ của thế hệ thứ hai như các trình dịch tối ưu hoá và công việc kiểm tra mẫu đã được dùng để nâng cao sản phẩm và chất lượng. Khái niệm công nghệ phần mềm đã được bàn thảo rộng rãi.
  • Thập niên 1970: Các công cụ phần mềm, chẳng hạn trong UNIX các vùng chứa mã, lệnh make, v.v. được kết hợp với nhau. Số lượng doanh nghiệp nhỏ về phần mềm và số lượng máy tính cỡ nhỏ tăng nhanh.
  • Thập niên 1980: các PCmáy trạm ra đời. Cùng lúc có sự xuất hiện của mô hình dự toán khả năng. Lượng phần mềm tiêu thụ tăng mạnh.
  • Thập niên 1990: Phương pháp lập trình hướng đối tượng ra đời. Các quá trình nhanh như là lập trình cực hạn được chấp nhận rộng rãi. Trong thập niên này, WWW và các thiết bị máy tính cầm tay phổ biến rộng rãi.
  • Hiện nay: Các phần mềm biên dịch và quản lý như là .NET, PHP, Java làm cho việc thiết kế, viết phần mềm ứng dụng trở nên dễ dàng hơn nhiều.

Hướng phát triển tương lai

Lập trình định dạng và các phương pháp linh hoạt sẽ giữ vai trò quan trọng trong tương lai của công nghệ phần mềm. ICSE 2005 đã tham gia theo dõi cả hai chủ đề này. (ICSE là dạng viết tắt của International Conference on Software Engineering tức là Hội nghị Quốc tế về Kỹ Sư Phần mềm.)

- Lập trình định dạng (aspect-oriented programming) sẽ giúp người lập trình ứng xử với các yêu cầu không liên quan đến các chức năng thực tế của phần mềm bằng cách cung ứng các công cụ để thêm hay bớt các khối mã ít bị thay đổi trong nhiều vùng của mã nguồn. Lập trình định dạng mô tả các đối tượng và hàm nên ứng xử như thế nào trong một tình huống cụ thể.

Thí dụ: Lập trình định dạng có thêm vào các cơ cấu kiểm soát hiệu chỉnh lỗi, biên bảnkhoá cho tất cả các đối tượng của một số kiểu. Các nhà nghiên cứu đang tìm cách ứng dụng lập trình định dạng để thiết kế mã cho mục tiêu thông thường.

- Phát triển phần mềm linh hoạt: nhằm hướng dẫn các đề án phát triển phần mềm mà trong đó bao gồm việc thoả mãn các nhu cầu thay đổi và sự cạnh tranh của thị trường một cách nhanh chóng. Các quá trình cồng kềnh, nặng về hồ sơ tính như là TickIT, CMMISO 9000 đang lu mờ dần tầm quan trọng.

Hội nghị Future of Software Engineering (FOSE) tin rằng ICSE 2000 đã hồ sơ hoá các tính năng hiện đại nhất của kỹ sư phần mềm và nêu ra nhiều vấn đề cần được giải quyết trong thập niên tới.

Đề án Feyerabend có ý định tìm hiểu tương lai của kỹ sư phần mềm qua tìm kiếm và xuất bản các ý kiến sáng tạo.

Tài liệu tham khảo

WikiPedia: Công_nghệ_phần_mềm http://www.dreamsongs.com/Feyerabend/Feyerabend.ht... http://www.springer.com/east/home?SGWisbn=5-102-22... http://www.softwaresystems.org/future.html http://www.swebok.org http://www.swebok.org/htmlformat.html http://www.swebok.org/swebokcontents-ch1.html#ch1 http://www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Pres... http://www.pearsoned.co.uk/HigherEducation/Booksby... https://web.archive.org/web/20080118103007/http://... https://commons.wikimedia.org/wiki/Category:Softwa...